package com.zbkj.common.model.client.workbench;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
@TableName(value = "eb_client_video_template_final",autoResultMap = true)
public class VideoTemplateFinal implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String title;

    private Integer isFolder;

    private Integer parentId;

    private String completeFolder;

    private String linkId;

    private Integer templateId;

    private Integer dpId;

    private Integer voiceId;

    //数字人linkId,冗余字段
    private String dpManId;

    //音色linkId，冗余字段
    private String audioManId;

    private Integer userId;

    private Integer merId;

    private String content;

    private String ossUrl;

    //agent返回的imgurl
    @TableField(value = "image_urls", typeHandler = JacksonTypeHandler.class)
    private List<Map<String, String>> imageUrls; // 建议用String存储JSON数组，如需List可自定义转换

    //用户替换的imgurl
    @TableField(value = "replace_image_urls", typeHandler = JacksonTypeHandler.class)
    private List<Map<String, String>> replaceImageUrls; // 建议用String存储JSON数组，如需List可自定义转换

    //字幕agent返回的值
    @TableField(value = "subtitle_agent_api", typeHandler = JacksonTypeHandler.class)
    private Map<String, Object> subtitleAgentApi;

    //字幕agent返回的值
    @TableField(value = "save_location", typeHandler = JacksonTypeHandler.class)
    private Map<String, Object> saveLocation;

    private Integer status;

    //最终合成的视频时长
    private Integer duration;

    private String errMsg;

    //是否是公共数字人
    private Integer isCommonDp;

    //数字人形象预览图
    private String dpPreviewUrl;

    @TableLogic
    private Integer isDel;

    private Date createTime;

    private Date updateTime;
} 